package com.passive.lock.model.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TKeyExample {
    /**
     * T_Key
     */
    protected String orderByClause;

    /**
     * T_Key
     */
    protected boolean distinct;

    /**
     * T_Key
     */
    protected List<Criteria> oredCriteria;

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public TKeyExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-07-27
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * T_Key 2017-07-27
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andKeyidIsNull() {
            addCriterion("keyId is null");
            return (Criteria) this;
        }

        public Criteria andKeyidIsNotNull() {
            addCriterion("keyId is not null");
            return (Criteria) this;
        }

        public Criteria andKeyidEqualTo(Integer value) {
            addCriterion("keyId =", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidNotEqualTo(Integer value) {
            addCriterion("keyId <>", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidGreaterThan(Integer value) {
            addCriterion("keyId >", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidGreaterThanOrEqualTo(Integer value) {
            addCriterion("keyId >=", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidLessThan(Integer value) {
            addCriterion("keyId <", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidLessThanOrEqualTo(Integer value) {
            addCriterion("keyId <=", value, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidIn(List<Integer> values) {
            addCriterion("keyId in", values, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidNotIn(List<Integer> values) {
            addCriterion("keyId not in", values, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidBetween(Integer value1, Integer value2) {
            addCriterion("keyId between", value1, value2, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeyidNotBetween(Integer value1, Integer value2) {
            addCriterion("keyId not between", value1, value2, "keyid");
            return (Criteria) this;
        }

        public Criteria andKeynameIsNull() {
            addCriterion("keyName is null");
            return (Criteria) this;
        }

        public Criteria andKeynameIsNotNull() {
            addCriterion("keyName is not null");
            return (Criteria) this;
        }

        public Criteria andKeynameEqualTo(String value) {
            addCriterion("keyName =", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotEqualTo(String value) {
            addCriterion("keyName <>", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameGreaterThan(String value) {
            addCriterion("keyName >", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameGreaterThanOrEqualTo(String value) {
            addCriterion("keyName >=", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLessThan(String value) {
            addCriterion("keyName <", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLessThanOrEqualTo(String value) {
            addCriterion("keyName <=", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLike(String value) {
            addCriterion("keyName like", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotLike(String value) {
            addCriterion("keyName not like", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameIn(List<String> values) {
            addCriterion("keyName in", values, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotIn(List<String> values) {
            addCriterion("keyName not in", values, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameBetween(String value1, String value2) {
            addCriterion("keyName between", value1, value2, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotBetween(String value1, String value2) {
            addCriterion("keyName not between", value1, value2, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeystateIsNull() {
            addCriterion("keyState is null");
            return (Criteria) this;
        }

        public Criteria andKeystateIsNotNull() {
            addCriterion("keyState is not null");
            return (Criteria) this;
        }

        public Criteria andKeystateEqualTo(String value) {
            addCriterion("keyState =", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateNotEqualTo(String value) {
            addCriterion("keyState <>", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateGreaterThan(String value) {
            addCriterion("keyState >", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateGreaterThanOrEqualTo(String value) {
            addCriterion("keyState >=", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateLessThan(String value) {
            addCriterion("keyState <", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateLessThanOrEqualTo(String value) {
            addCriterion("keyState <=", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateLike(String value) {
            addCriterion("keyState like", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateNotLike(String value) {
            addCriterion("keyState not like", value, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateIn(List<String> values) {
            addCriterion("keyState in", values, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateNotIn(List<String> values) {
            addCriterion("keyState not in", values, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateBetween(String value1, String value2) {
            addCriterion("keyState between", value1, value2, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeystateNotBetween(String value1, String value2) {
            addCriterion("keyState not between", value1, value2, "keystate");
            return (Criteria) this;
        }

        public Criteria andKeymacIsNull() {
            addCriterion("keyMac is null");
            return (Criteria) this;
        }

        public Criteria andKeymacIsNotNull() {
            addCriterion("keyMac is not null");
            return (Criteria) this;
        }

        public Criteria andKeymacEqualTo(String value) {
            addCriterion("keyMac =", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacNotEqualTo(String value) {
            addCriterion("keyMac <>", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacGreaterThan(String value) {
            addCriterion("keyMac >", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacGreaterThanOrEqualTo(String value) {
            addCriterion("keyMac >=", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacLessThan(String value) {
            addCriterion("keyMac <", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacLessThanOrEqualTo(String value) {
            addCriterion("keyMac <=", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacLike(String value) {
            addCriterion("keyMac like", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacNotLike(String value) {
            addCriterion("keyMac not like", value, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacIn(List<String> values) {
            addCriterion("keyMac in", values, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacNotIn(List<String> values) {
            addCriterion("keyMac not in", values, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacBetween(String value1, String value2) {
            addCriterion("keyMac between", value1, value2, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeymacNotBetween(String value1, String value2) {
            addCriterion("keyMac not between", value1, value2, "keymac");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyIsNull() {
            addCriterion("keyInitKey is null");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyIsNotNull() {
            addCriterion("keyInitKey is not null");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyEqualTo(String value) {
            addCriterion("keyInitKey =", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyNotEqualTo(String value) {
            addCriterion("keyInitKey <>", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyGreaterThan(String value) {
            addCriterion("keyInitKey >", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyGreaterThanOrEqualTo(String value) {
            addCriterion("keyInitKey >=", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyLessThan(String value) {
            addCriterion("keyInitKey <", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyLessThanOrEqualTo(String value) {
            addCriterion("keyInitKey <=", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyLike(String value) {
            addCriterion("keyInitKey like", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyNotLike(String value) {
            addCriterion("keyInitKey not like", value, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyIn(List<String> values) {
            addCriterion("keyInitKey in", values, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyNotIn(List<String> values) {
            addCriterion("keyInitKey not in", values, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyBetween(String value1, String value2) {
            addCriterion("keyInitKey between", value1, value2, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andKeyinitkeyNotBetween(String value1, String value2) {
            addCriterion("keyInitKey not between", value1, value2, "keyinitkey");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(Integer value) {
            addCriterion("userId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(Integer value) {
            addCriterion("userId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(Integer value) {
            addCriterion("userId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(Integer value) {
            addCriterion("userId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(Integer value) {
            addCriterion("userId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(Integer value) {
            addCriterion("userId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<Integer> values) {
            addCriterion("userId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<Integer> values) {
            addCriterion("userId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(Integer value1, Integer value2) {
            addCriterion("userId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(Integer value1, Integer value2) {
            addCriterion("userId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("userName is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("userName is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("userName =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("userName <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("userName >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("userName >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("userName <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("userName <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("userName like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("userName not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("userName in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("userName not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("userName between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("userName not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andDeptidIsNull() {
            addCriterion("deptId is null");
            return (Criteria) this;
        }

        public Criteria andDeptidIsNotNull() {
            addCriterion("deptId is not null");
            return (Criteria) this;
        }

        public Criteria andDeptidEqualTo(String value) {
            addCriterion("deptId =", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotEqualTo(String value) {
            addCriterion("deptId <>", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidGreaterThan(String value) {
            addCriterion("deptId >", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidGreaterThanOrEqualTo(String value) {
            addCriterion("deptId >=", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLessThan(String value) {
            addCriterion("deptId <", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLessThanOrEqualTo(String value) {
            addCriterion("deptId <=", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLike(String value) {
            addCriterion("deptId like", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotLike(String value) {
            addCriterion("deptId not like", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidIn(List<String> values) {
            addCriterion("deptId in", values, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotIn(List<String> values) {
            addCriterion("deptId not in", values, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidBetween(String value1, String value2) {
            addCriterion("deptId between", value1, value2, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotBetween(String value1, String value2) {
            addCriterion("deptId not between", value1, value2, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidsIsNull() {
            addCriterion("deptIds is null");
            return (Criteria) this;
        }

        public Criteria andDeptidsIsNotNull() {
            addCriterion("deptIds is not null");
            return (Criteria) this;
        }

        public Criteria andDeptidsEqualTo(String value) {
            addCriterion("deptIds =", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsNotEqualTo(String value) {
            addCriterion("deptIds <>", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsGreaterThan(String value) {
            addCriterion("deptIds >", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsGreaterThanOrEqualTo(String value) {
            addCriterion("deptIds >=", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsLessThan(String value) {
            addCriterion("deptIds <", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsLessThanOrEqualTo(String value) {
            addCriterion("deptIds <=", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsLike(String value) {
            addCriterion("deptIds like", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsNotLike(String value) {
            addCriterion("deptIds not like", value, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsIn(List<String> values) {
            addCriterion("deptIds in", values, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsNotIn(List<String> values) {
            addCriterion("deptIds not in", values, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsBetween(String value1, String value2) {
            addCriterion("deptIds between", value1, value2, "deptids");
            return (Criteria) this;
        }

        public Criteria andDeptidsNotBetween(String value1, String value2) {
            addCriterion("deptIds not between", value1, value2, "deptids");
            return (Criteria) this;
        }

        public Criteria andKeynoteIsNull() {
            addCriterion("keyNote is null");
            return (Criteria) this;
        }

        public Criteria andKeynoteIsNotNull() {
            addCriterion("keyNote is not null");
            return (Criteria) this;
        }

        public Criteria andKeynoteEqualTo(String value) {
            addCriterion("keyNote =", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteNotEqualTo(String value) {
            addCriterion("keyNote <>", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteGreaterThan(String value) {
            addCriterion("keyNote >", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteGreaterThanOrEqualTo(String value) {
            addCriterion("keyNote >=", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteLessThan(String value) {
            addCriterion("keyNote <", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteLessThanOrEqualTo(String value) {
            addCriterion("keyNote <=", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteLike(String value) {
            addCriterion("keyNote like", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteNotLike(String value) {
            addCriterion("keyNote not like", value, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteIn(List<String> values) {
            addCriterion("keyNote in", values, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteNotIn(List<String> values) {
            addCriterion("keyNote not in", values, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteBetween(String value1, String value2) {
            addCriterion("keyNote between", value1, value2, "keynote");
            return (Criteria) this;
        }

        public Criteria andKeynoteNotBetween(String value1, String value2) {
            addCriterion("keyNote not between", value1, value2, "keynote");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNull() {
            addCriterion("startTime is null");
            return (Criteria) this;
        }

        public Criteria andStarttimeIsNotNull() {
            addCriterion("startTime is not null");
            return (Criteria) this;
        }

        public Criteria andStarttimeEqualTo(Date value) {
            addCriterion("startTime =", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotEqualTo(Date value) {
            addCriterion("startTime <>", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThan(Date value) {
            addCriterion("startTime >", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeGreaterThanOrEqualTo(Date value) {
            addCriterion("startTime >=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThan(Date value) {
            addCriterion("startTime <", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeLessThanOrEqualTo(Date value) {
            addCriterion("startTime <=", value, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeIn(List<Date> values) {
            addCriterion("startTime in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotIn(List<Date> values) {
            addCriterion("startTime not in", values, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeBetween(Date value1, Date value2) {
            addCriterion("startTime between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andStarttimeNotBetween(Date value1, Date value2) {
            addCriterion("startTime not between", value1, value2, "starttime");
            return (Criteria) this;
        }

        public Criteria andStoptimeIsNull() {
            addCriterion("stopTime is null");
            return (Criteria) this;
        }

        public Criteria andStoptimeIsNotNull() {
            addCriterion("stopTime is not null");
            return (Criteria) this;
        }

        public Criteria andStoptimeEqualTo(Date value) {
            addCriterion("stopTime =", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeNotEqualTo(Date value) {
            addCriterion("stopTime <>", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeGreaterThan(Date value) {
            addCriterion("stopTime >", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeGreaterThanOrEqualTo(Date value) {
            addCriterion("stopTime >=", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeLessThan(Date value) {
            addCriterion("stopTime <", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeLessThanOrEqualTo(Date value) {
            addCriterion("stopTime <=", value, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeIn(List<Date> values) {
            addCriterion("stopTime in", values, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeNotIn(List<Date> values) {
            addCriterion("stopTime not in", values, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeBetween(Date value1, Date value2) {
            addCriterion("stopTime between", value1, value2, "stoptime");
            return (Criteria) this;
        }

        public Criteria andStoptimeNotBetween(Date value1, Date value2) {
            addCriterion("stopTime not between", value1, value2, "stoptime");
            return (Criteria) this;
        }
    }

    /**
     * T_Key
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * T_Key 2017-07-27
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}